package com.baibei.ebec.totrade;

import com.baibei.basic.IPresenter;
import com.baibei.basic.IPresenterView;
import com.baibei.model.PercentInfo;
import com.baibei.model.ProductInfo;
import com.baibei.model.TradeParams;

/**
 * 订购交易
 * Created by ChenRui on 2017/8/9 0009 10:23.
 */
public interface ToTradeContract {

    interface Presenter extends IPresenter {

        /**
         * 加载余额
         */
        void loadBalance();

        /**
         * 交易
         */
        void trade();

        /**
         * 取消交易
         */
        void cancel();

        /**
         * 重新加载
         */
        void resume();

        //获取订购比例
        void getPercent();
    }

    interface View extends IPresenterView {

        /**
         * 获取交易参数
         *
         * @return
         */
        TradeParams getTradeParams();

        /**
         * 获取产品信息
         */
        ProductInfo getProductInfo();

        /**
         * 交易失败
         *
         * @param msg 错误信息
         */
        void onTradeFailed(String msg);

        /**
         * 交易成功
         *
         * @param msg
         */
        void onTradeSuccess(String msg);

        /**
         * 交易超时
         */
        void onTradeTimeout();

        /**
         * 重复建仓
         */
        void onTradeExist();

        /**
         * 余额不足
         */
        void onNotMoney();

        //获取订购比例成功
        void onLoadPercentSuccess(PercentInfo percentInfo);
    }
}
